package com.dfe.backend.common.bean.real;

import com.dfe.backend.common.sax.spd.substation.region.device.Device;
import lombok.Data;

/**
 * 【描述】：
 *
 * @author LiChang
 * @since 2025-9-19 14:48
 */
@Data
public class DeviceInfo {
    /**
     * 屏柜中的设备编号。对于IPD文件，设备编号固定为TEMPLATE；对于CPD、SPD文件，设备编号应与设计编号一致且唯一
     */
    private String name;
    /**
     * 设备描述
     */
    private String desc;
    /**
     * 设备铭牌文本
     */
    private String label;
    /**
     * IED设备名称。应与SCD文件中的IED设备名称一致。对于非IED设备，该属性可为空
     */
    private String iedName;
    /**
     * 设备编码，宜遵循NB/T 11198的规定
     */
    private String gridId;
    /**
     * 电网资产统一身份编码
     */
    private String objectId;
    /**
     * 对应的PartTemplate名称
     */
    private String partName;
    /**
     * 设备型号
     */
    private String type;
    /**
     * 设备制造厂商的名称
     */
    private String manufacturer;
    /**
     * 设备类型，注意这里应为class，但冲突，所以定为className
     */
    private String className;

    public static DeviceInfo build(Device device) {
        DeviceInfo deviceInfo = new DeviceInfo();
        deviceInfo.setName(device.getName());
        deviceInfo.setDesc(device.getDesc());
        deviceInfo.setLabel(device.getLabel());
        deviceInfo.setIedName(device.getIedName());
        deviceInfo.setGridId(device.getGridId());
        deviceInfo.setObjectId(device.getObjectId());
        deviceInfo.setPartName(device.getPartName());
        deviceInfo.setType(device.getType());
        deviceInfo.setManufacturer(device.getManufacturer());
        deviceInfo.setClassName(device.getClassName());
        return deviceInfo;
    }

}
